Conventional computing platforms often utilize an operating system that acts as an interface between software applications and hardware devices. The operating system provides application programming interfaces (APIs) that provide functions for the software applications. The operating system receives instructions through the APIs and controls hardware devices of the computing platform, e.g., through device drivers. A kernel of an operating system generally is responsible for allocating platform resources to a process and executing the process. During execution of a process, the kernel interacts with various resources, including hardware devices, of the computing platform. The kernel must therefore be written to interact with all of the available resources of any computing platform on which the operating system is to be installed. During boot-up of the computing platform, the kernel initializes the computing platform and hardware devices thereof.
Operating systems are conventionally written to operate on many different computing platforms. Network platforms that utilize operating systems include, for example, routers, switches, security devices, firewalls, inspection devices, intrusion detection and intrusion prevention devices, web servers, database servers, e-mail servers, management devices, and other platforms. Programmers often write a single operating system that can accommodate all of these different platforms. This simplifies the task of writing the operating system because multiple variations of the entire operating system do not need to be written.